package eg.ci.mvn.service.api.constant;

import eg.ci.mvn.service.api.dict.DictItemBean;
import eg.ci.mvn.service.api.dict.IDictItem;

/**
 * 通道口类型 1-入口，2-出口
 */
public enum GateTypeEnum implements IDictItem {
    /** 进口 */
    IN("in","进口", "1"),
    /** 出口 */
    OUT("out","出口", "2"),

    /** 未知 */
    UNKNOWN("unknown", "未知", "-1");

    /** 字典枚举目录 */
    private final static String CATEGORY = "GateTypeEnum";
    /** 字典枚举目录 LABEL */
    private final static String CATEGORY_LABEL = "通行类型标志";

    /** 构造 */
    GateTypeEnum(String item, String itemLabel, String itemValue) {
        // 放入到内存
        putDictItem(DictItemBean.builder()
                .category(CATEGORY)
                .categoryLabel(CATEGORY_LABEL)
                .item(item)
                .itemLabel(itemLabel)
                .itemValue(itemValue)
                .build());
    }

    public static String getEnumItemLabel(final String itemValue) {
        return IDictItem.getEnumItemLabel(GateTypeEnum.class, itemValue, UNKNOWN.itemLabel() + "(" + itemValue+ ")");
    }

    public static GateTypeEnum getEnumAtItemValue(String itemValue) {
        return IDictItem.getEnum(GateTypeEnum.class, itemValue, UNKNOWN);
    }
}
